package com.m3839.sdk.pay.model;

/**
 * @author ChenBaoyang
 * @description: IPayModel
 * @date 2021/12/8 19:28
 */
public interface IPayModel {

    /**
     * 获取支付配置
     */
    void loadPayConfig();

    /**
     * 支付下单
     * @param cpOrderId
     * @param userName
     * @param money
     * @param goodsName
     * @param server
     * @param ext
     * @param payType
     */
    void submitOrder(final String cpOrderId, final String userName, final int money,
                                   final String goodsName, final int server,
                     final String ext, final String payType);

    /**
     * 订单查询
     * @param orderId
     */
    void orderQuery(String orderId);

    /**
     * 支付结果上报
     * @param orderId
     * @param content
     */
    void payReport(String orderId, String content);

    /**
     * 通知发放商品
     * @param cpOrderId
     * @param money
     * @param goodsName
     */
    void notifyGoods(String cpOrderId, String money, String goodsName);
}
